Skip to main content

RESTful Engine Proxy Configuration

Depending on your network security you may need to configure the RESTful engine to route outbound traffic through a proxy in order to connect to the license server. This is a common requirement in enterprise environments. Depending on your environment this can be handled in a few different ways.

Linux

Add the following to the catalina.sh file in the bin directory of the Tomcat installation:

SET JAVA_OPTS=%JAVA_OPTS% -Dhttp.proxyHost=<Host name or IP address of HTTP/TCP proxy> -Dhttp.proxyPort=<Port the proxy is running on> -Dhttps.proxyHost=<Host name or IP address of HTTP/TCP proxy> -Dhttps.proxyPort=<Port the proxy is running on> -Djdk.http.auth.tunneling.disabledSchemes=''

Windows (non-service)

Add the following to the catalina.bat file in the bin directory of the Tomcat installation:

SET JAVA_OPTS=%JAVA_OPTS% -Dhttp.proxyHost=<Host name or IP address of HTTP/TCP proxy> -Dhttp.proxyPort=<Port the proxy is running on> -Dhttps.proxyHost=<Host name or IP address of HTTP/TCP proxy> -Dhttps.proxyPort=<Port the proxy is running on> -Djdk.http.auth.tunneling.disabledSchemes=''

Windows (service)

Run Tomcat10w.exe from the bin directory of the Tomcat installation. Go to the Java tab and add the following to the Java Options field:

-Dhttp.proxyHost=<Host name or IP address of HTTP/TCP proxy>
-Dhttps.proxyHost=<Host name or IP address of HTTP/TCP proxy>
-Dhttp.proxyPort=<Port the proxy is running on>
-Dhttps.proxyPort=<Port the proxy is running on>
-Djdk.http.auth.tunneling.disabledSchemes=''

Proxy Authentication

Fluent supports Proxy Authentication starting in version 23.4.0 of the Engine. If your proxy requires authentication, you will need to add the following to the WindwardReports.properties file:

proxy.authentication=<Proxy Username>;<Proxy Password>

More information on this property can be found in the Java Engine Configuration File Reference.

Alternatively you can set the proxy authentication in the environment variables for the engine by adding -e proxy.authentication=<Proxy Username>;<Proxy Password> to the bash command to start your docker container:

docker run -p [EnginePort]:[EnginePort] -e proxy.authentication=<Proxy Username>;<Proxy Password> Fluent-RESTful-Engine-Image-Name

Using a Proxy with the RESTful Engine Docker Container

Once the RESTful engine is setup using the Installation instructions found here, you can configure the RESTful Docker Container to use a proxy by adding the following arguments to the docker run command:

docker run -p [EnginePort]:[EnginePort] -e JAVA_OPTS=" -Djdk.http.auth.tunneling.disabledSchemes= -Djdk.http.auth.proxying.disabledSchemes= -Dhttp.proxyHost=<ProxyHost> -Dhttp.proxyPort=<ProxyPort> -Dhttps.proxyHost=<ProxyHost> -Dhttps.proxyPort=<ProxyPort>" Fluent-RESTful-Engine-Image-Name
'''

This will route all traffic from the RESTful engine through the proxy. Ensure that the Docker Desktop settings do not have a proxy manually configured as this will cause issues with the command above.